Low density parity check codes (LDPCs) are error correction codes that perform near the theoretically optimal limit. Similar to most error correcting codes, the LDPC decoding implementation is more complex than that required for encoding. For LDPC decoders the sum product algorithm is optimal in terms of performance, but is computationally complex because the sum product algorithm requires the use of transcendental mathematical functions.